package com.hzncc.flowable_diboot.payment.excel.model;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.lang.Double;
import java.math.BigDecimal;

import com.alibaba.excel.enums.BooleanEnum;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.diboot.core.util.D;
import com.diboot.core.util.V;
import com.diboot.core.data.copy.Accept;
import com.diboot.file.excel.BaseExcelModel;
import com.hzncc.flowable_diboot.payment.entity.PaymentRegister;
import lombok.Getter;
import lombok.Setter;
import jakarta.validation.constraints.NotNull;

/**
* 回款登记 导出model定义
*
* @author MyName
* @version 1.0
* @date 2024-10-17
 * Copyright © MyCorp
*/
@Getter
@Setter
@ExcelIgnoreUnannotated
public class PaymentRegisterExportModel extends BaseExcelModel {


    /**
    * 租户
    */
    @ExcelProperty(value = "租户")
    private String tenantIdLabel;

    /**
    * 客户名称
    */
    @ExcelProperty(value = "客户名称")
    private String customerName;


    /**
    * 回款类别
    */
    @Accept(name = "categoryLabel.label")
    @ExcelProperty(value = "回款类别")
    private String categoryLabel;

    /**
    * 回款金额
    */
    @ExcelProperty(value = "回款金额")
    private String paymentAmount;


    /**
    * 回款日期
    */
    @DateTimeFormat(D.FORMAT_DATETIME_Y4MDHMS)
    @ExcelProperty(value = "回款日期")
    private LocalDateTime paymentTime;


    /**
    * 已回款金额
    */
    @ExcelProperty(value = "已回款金额")
    private String receivedAmount;


    /**
    * 未认领金额
    */
    @ExcelProperty(value = "未认领金额")
    private String unclaimedAmount;


    /**
    * 回款类型
    */
    @Accept(name = "typeLabel.label")
    @ExcelProperty(value = "回款类型")
    private String typeLabel;

    /**
    * 银行名称
    */
    @ExcelProperty(value = "银行名称")
    private String bankName;


    /**
    * 承兑票号
    */
    @ExcelProperty(value = "承兑票号")
    private String billNum;


    /**
    * 付款科目
    */
    @ExcelProperty(value = "付款科目")
    private String paymentItem;


    /**
    * 传阅
    */
    @ExcelProperty(value = "传阅")
    private String copyRead;


    /**
    * 回款状态
    */
    @Accept(name = "statusLabel.label")
    @ExcelProperty(value = "回款状态")
    private String statusLabel;

    /**
    * 备注
    */
    @ExcelProperty(value = "备注")
    private String remark;


    /**
    * 传阅销售人员
    */
    @ExcelProperty(value = "传阅销售人员")
    private String salesCopyRead;


    /**
    * 公司代码
    */
    @ExcelProperty(value = "公司代码")
    private String oaNum;


    /**
    * 是否生成回款凭证
    */
    @Accept(name = "certedLabel.label")
    @ExcelProperty(value = "是否生成回款凭证")
    private String certedLabel;

    /**
    * 凭证类型
    */
    @ExcelProperty(value = "凭证类型")
    private String certType;


    /**
    * 预收所属事业部
    */
    @ExcelProperty(value = "预收所属事业部")
    private String dept;


    /**
    * 是否锁定
    */
    @Accept(name = "lockedLabel.label")
    @ExcelProperty(value = "是否锁定")
    private String lockedLabel;
}